<?php
namespace PsiFramework\Classes\Util\Parameters\Object;

import("Classes.Util.Parameters.Object.Operation");

use \PsiFramework\Classes\Util\Parameters\Object\Operation;
use \PsiFramework\Classes\Util\Parameters\Object\Operations\Elements\OperationObject;

/**
 * PsiFramework
 * Php Simple Framework
 *
 * @author Rémi San
 * @version beta
 */

/**
 * The Trigger class is the class to manage object parameters triggers
 *
 * @package Util.Parameters.Object
 */
class Trigger
{

    protected /*string*/             $_name ;
    protected /*string*/             $_type ;
    protected /*string*/             $_mode ;
    protected /*OperationObject*/    $_object ;
    protected /*Operation*/          $_operation ;

    public function __construct(
        /*string*/      $name=null,
        /*string*/      $type=null,
        /*string*/      $mode=null,
        OperationObject $object=null,
        Operation       $operation=null
    )
    {
        $this->_name = $name ;
        $this->_type = $type ;
        $this->_mode = $mode ;
        $this->_object = $object ;
        $this->_operation = $operation ;
    }

    public function getName()
    {
        return $this->_name ;
    }

    public function setName(/*string*/ $name)
    {
        $this->_name = $name ;
    }

    public function getType()
    {
        return $this->_type ;
    }

    public function setType(/*string*/ $type)
    {
        $this->_type = $type ;
    }

    public function getMode()
    {
        return $this->_mode ;
    }

    public function setMode(/*string*/ $mode)
    {
        $this->_mode = $mode ;
    }

    public function getObject()
    {
        return $this->_object ;
    }

    public function setObject(OperationObject $object)
    {
        $this->_object = $object ;
    }

    public function getOperation()
    {
        return $this->_operation ;
    }

    public function setOperation(/*string*/ $operation)
    {
        $this->_operation = $operation ;
    }

}
